package Enumerators;

public enum Opcode {
	 
	JP("JP"), 			// Pulo incondicional
	JZ("JZ"), 			// Pulo se AC = 0
	JN("JN"), 			// Pulo se AC < 0+
	LV("LV"), 			// Carrega valor no AC
	Soma("+"),			// Soma no AC
	Subtracao("-"), 	// Subtrai no AC
	Multiplicacao("*"), // Multiplica no AC
	Divisao("/"), 		// Divisão inteira no AC
	LD("LD"), 			// Carrega conteúdo de posição de memória no AC
	MM("MM"), 			// Guarda conteúdo do AC na posição de memória
	SC("SC"),			// Chamada de subrotina
	RS("RS"),			// Retorno de subrotina
	HM("HM"),			// Halt
	GD("GD"),			// Input
	PD("PD"),			// Output
	OS("OS");			// Nop

	private final String symbol;
	
	Opcode(String symbol) {
		this.symbol = symbol;
	}
	
	public String getName() {
		return symbol;
	}
}
